import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv('C://Users//yjyang24//Desktop//第八章//第8章案例//案例2//dataset//data.csv',encoding='GBK')# 加载数据
# 指定季度的顺序
df["季度"] = pd.Categorical(df["季度"], categories=["第一季度", "第二季度", "第三季度", "第四季度"], ordered=True)
df_transposed =  df.pivot(index="年份", columns="季度", values="数值").T
# 转置DataFrame，使年份成为列，季度成为行
# 设置绘图风格
sns.set(style="whitegrid")
# 创建一个图形对象
plt.figure(figsize=(10, 8))
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定中文字体为 SimHei
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 绘制热力图，假设我们只关心季度数据
sns.heatmap(df_transposed, annot=True, fmt="d",cmap="YlGnBu", cbar_kws={"shrink": .8},)
# 添加标题
plt.title('季度数据热力图',fontsize=16)
# 显示图形
plt.show()